package net.risesoft.risereport.common;

/**
 * <p>
 * Title: RiseReport
 * </p>
 * <p>
 * Description: RiseReport
 * </p>
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * <p>
 * Company: RiseSoft
 * </p>
 * 在厨房，车顶，草地上使用Spring
 * 还不如自己实现一个简单的Singleton，扩展ContextLoaderListener类，在Web系统启动时压入Singleton。
 * 新的ContextLoaderListener类重载如下，ContextUtil中包含一个静态的ApplicationContext变量：
 * 用家可直接取用：ApplicationContext context  = ContextUtil.getContext();
 * @author
 * @author baiyibing(baiyibing@gmail.com)
 * @version 1.0
 */

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;

import net.risesoft.risereport.obj.common.util.ContextUtil;

import org.springframework.context.ApplicationContext;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class BybContextLoaderListener extends ContextLoaderListener {
	public void contextInitialized(ServletContextEvent event) {
		super.contextInitialized(event);

		ServletContext context = event.getServletContext();
		ApplicationContext ctx = WebApplicationContextUtils
				.getRequiredWebApplicationContext(context);
		// 还不如自己实现一个简单的Singleton，扩展ContextLoaderListener类，在Web系统启动时压入Singleton。
		ContextUtil.getInstance().setContext(ctx);
	}
}
